package com.service.impl;

import java.util.ArrayList;
import java.util.List;

import javax.swing.table.DefaultTableModel;

import com.bean.Project;
import com.bean.Table;
import com.common.ConfigParam;
import com.common.FrameUtil;
import com.dao.TableDao;
import com.service.ITableService;

public class TableServiceImpl implements ITableService {

	private boolean oprate = ConfigParam.handleData();

	/**
	 *
	 * 根据条件查询数据，重新加载 model
	 *
	 * @param model
	 * @param project 所属项目名
	 * @param name 查询的字段名
	 */
	public List<Table> loadModelData(DefaultTableModel model, String project, String name) {

		Project projectVO = new ProjectServiceImpl().getByName(project);
		List<Object[]> dataArrList = new ArrayList<Object[]>();
		List<Table> datas = null;
		if(null != projectVO){

			datas = new TableDao().query( projectVO.getId(), name);
			for(Table obj : datas){
				dataArrList.add(obj.getArr());
			}
		}
		FrameUtil.refreshTableModelData(model, dataArrList);

		return datas;
	}

	/**
	 * 新增表单记录
	 * @param obj
	 * @return
	 */
	public boolean add(Table obj){
		if(oprate)
			return new TableDao().add(obj);
		return oprate;
	}

	/**
	 * 获取实体bean
	 * @param id
	 * @return
	 */
	public Table get(Long id){
		return new TableDao().get(id);
	}

	/**
	 * 获取实体bean
	 * @param name
	 * @return
	 */
	public Table getByName(String name){
		if(null != name && !"".equals(name)){
			return new TableDao().getByName(name);
		}
		return null;
	}

	/**
	 * 修改实体bean
	 * @param obj
	 * @return
	 */
	public boolean update(Table obj){
		if(oprate)
			return new TableDao().update(obj);
		return false;
	}

	public boolean del(Long id){
		if(oprate)
			return new TableDao().del(id);
		return false;
	}
}
